/**
 * @description 处理宽度和高度
 * @param space 宽度/高度属性值
 * @returns 描述宽高的对象
 */
export default function (space: any): { value: any, unit: string } {
  if (space === null || space === undefined) return { value: 0, unit: 'auto' };
  if (space === 'nullpx' || space === 'null%') return { value: '', unit: space.slice(4) };
  if (!space) return { value: 0, unit: 'px' };
  // 判断是不是 auto 
  if (space === 'auto') {
    return { unit: 'auto', value: 100 }
  } else {
    // 提取单位和数字
    const $pattern = /(\d+)(px|%)/;
    if ($pattern.test(space)) {
      return {
        value: RegExp.$1,
        unit: RegExp.$2
      }
    }
    // 如果只是数字
    if (!isNaN(space)) {
      return {
        value: space,
        unit: 'px',
      };
    }
    return {
      value: space,
      unit: ''
    }
  }

}
/**
 * @description 传入值和单位，生成新的宽（高）度值
 * @param value 值
 * @param unit 单位
 * @returns 
 */
export function composeSpace(value: any, unit: string): string {
  if (unit === 'auto') {
    return 'auto'
  } else if (unit === 'max') {
    return '100%'
  } else return value + unit;
}